<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PxBroadPhaseCallback Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="PhysXLogoBlack.png"/></td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classPxBroadPhaseCallback.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classPxBroadPhaseCallback-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">PxBroadPhaseCallback Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__physics.html">Physics</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Broad-phase callback to receive broad-phase related events.  
 <a href="classPxBroadPhaseCallback.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="PxBroadPhase_8h_source.html">PxBroadPhase.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:adbbd54fb4eb42348829be1aa27980005"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBroadPhaseCallback.html#adbbd54fb4eb42348829be1aa27980005">~PxBroadPhaseCallback</a> ()</td></tr>
<tr class="separator:adbbd54fb4eb42348829be1aa27980005"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7aa03ff4a741400562bd5787a7aaca0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBroadPhaseCallback.html#ab7aa03ff4a741400562bd5787a7aaca0">onObjectOutOfBounds</a> (<a class="el" href="classPxShape.html">PxShape</a> &amp;shape, <a class="el" href="classPxActor.html">PxActor</a> &amp;actor)=0</td></tr>
<tr class="memdesc:ab7aa03ff4a741400562bd5787a7aaca0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Out-of-bounds notification.  <a href="#ab7aa03ff4a741400562bd5787a7aaca0">More...</a><br /></td></tr>
<tr class="separator:ab7aa03ff4a741400562bd5787a7aaca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5dd0f892825c46619939a11caae5620"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBroadPhaseCallback.html#aa5dd0f892825c46619939a11caae5620">onObjectOutOfBounds</a> (<a class="el" href="classPxAggregate.html">PxAggregate</a> &amp;aggregate)=0</td></tr>
<tr class="memdesc:aa5dd0f892825c46619939a11caae5620"><td class="mdescLeft">&#160;</td><td class="mdescRight">Out-of-bounds notification.  <a href="#aa5dd0f892825c46619939a11caae5620">More...</a><br /></td></tr>
<tr class="separator:aa5dd0f892825c46619939a11caae5620"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Broad-phase callback to receive broad-phase related events. </p>
<p>Each broadphase callback object is associated with a PxClientID. It is possible to register different callbacks for different clients. The callback functions are called this way:</p><ul>
<li>for shapes/actors, the callback assigned to the actors' clients are used</li>
<li>for aggregates, the callbacks assigned to clients from aggregated actors are used</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>SDK state should not be modified from within the callbacks. In particular objects should not be created or destroyed. If state modification is needed then the changes should be stored to a buffer and performed after the simulation step.</dd></dl>
<p><b>Threading:</b> It is not necessary to make this class thread safe as it will only be called in the context of the user thread.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxSceneDesc.html" title="Descriptor class for scenes. See PxScene. ">PxSceneDesc</a> <a class="el" href="classPxScene.html#a353da44d631c07cacd2f8d85f08cbc09" title="Sets a broad-phase user callback object. ">PxScene.setBroadPhaseCallback()</a> <a class="el" href="classPxScene.html#a4c3269f14110636d8e2beee333bfdd71" title="Retrieves the PxBroadPhaseCallback pointer set with setBroadPhaseCallback(). ">PxScene.getBroadPhaseCallback()</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="adbbd54fb4eb42348829be1aa27980005"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbbd54fb4eb42348829be1aa27980005">&#9670;&nbsp;</a></span>~PxBroadPhaseCallback()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual PxBroadPhaseCallback::~PxBroadPhaseCallback </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab7aa03ff4a741400562bd5787a7aaca0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7aa03ff4a741400562bd5787a7aaca0">&#9670;&nbsp;</a></span>onObjectOutOfBounds() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxBroadPhaseCallback::onObjectOutOfBounds </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classPxShape.html">PxShape</a> &amp;&#160;</td>
          <td class="paramname"><em>shape</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classPxActor.html">PxActor</a> &amp;&#160;</td>
          <td class="paramname"><em>actor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Out-of-bounds notification. </p>
<p>This function is called when an object leaves the broad-phase.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">shape</td><td>Shape that left the broad-phase bounds </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">actor</td><td>Owner actor </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa5dd0f892825c46619939a11caae5620"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5dd0f892825c46619939a11caae5620">&#9670;&nbsp;</a></span>onObjectOutOfBounds() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxBroadPhaseCallback::onObjectOutOfBounds </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classPxAggregate.html">PxAggregate</a> &amp;&#160;</td>
          <td class="paramname"><em>aggregate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Out-of-bounds notification. </p>
<p>This function is called when an aggregate leaves the broad-phase.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">aggregate</td><td>Aggregate that left the broad-phase bounds </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PxBroadPhase_8h_source.html">PxBroadPhase.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classPxBroadPhaseCallback.html">PxBroadPhaseCallback</a></li>
    <li class="footer">Copyright &copy; 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a></li>
  </ul>
</div>
</body>
</html>
